;:poke56,80:clr:sys65418
ifpeek(36864)+peek(37000)<>265thenstop
sys36864
	;.opt oo
	*= 20480
strout	=$ab1e
buff	=821
mem3	=2
gra	=$6800
ziel	=15
mmtab	=gra-$800
mmend	=gra
fn	=91
b	=6
mem4	=4
run	jmp anfang
plotter	.byt 12
drucker	.byt 4
drusa	brk
char	=36
ctr	=150
typ	=705
ltyp	=706
dlen	=707
xneg	=740
lcount	=708
resmod	=709
size	=710
richtung	=711
echoflg	=712
mimaflg	=713
fat	=714
zch	=176
unif	=704
penx	=166
peny	=168
kx	=247
ky	=249
sx	=732
sy	=736
dx	=734
dy	=738
tri1	=251
tri2	=253
tri3	=181
bin	=170
scfx	=715
scfy	=716
scax	=717
scay	=722
retflg	=727
retx	=728
rety	=730
hi	.byt 13
	.byte "/ plotter-simulator v1"
	.byt 13
	.byte "/"
	.byt 13
	.byte "/ nikolaus heusler"
	.byt 13
	.byte "/ zwengauerweg 18"
	.byt 13
	.byte "/ 8000 muenchen 71"
	.byt 13
	.byte "/"
	.byt 13
	.byte "/ (c) nh-280890-arr"
	.byt 13
	.byte "/ ein nss-programm"
	.byt 13,0
tx1	.byte "initialisieren"
	brk
tx2	.byte "cursor home"
	brk
tx3	.byte "grafik loeschen"
	brk
tx4	.byte "stift auf"
	brk
tx5	.byte "echo-modus"
	brk
tx6	.byte "stift rel. um"
	brk
tx7	.byte "rotiere"
	brk
tx8	.byte "textgroesse"
	brk
tx9	.byte "reset modus"
	brk
txb	.byte "min/max-modus"
	brk
txc	.byte "linienabstand"
	brk
txd	.byte "linientyp"
	brk
txe	.byte "punkttyp"
	brk
txf	.byte "grafik drucken"
	brk
txg	.byte "punkt bei"
	brk
txh	.byte "linie nach"
	brk
txi	.byte "linie rel. um"
	brk
txj	.byte "schreibe"
	brk
txk	.byte "marke nr."
	brk
txl	.byte "skalierung"
	brk
txm	.byte "fett"
	brk
txn	.byte "rueckkehr"
	brk
txo	.byte "rechteck"
	brk
txp	.byte "mm-einheiten"
	brk
beftab	.byte "*hcmerqs/#blao.dipn%zufk"
befadr	.word init,home,clr,getpen,becho,brel
	.word rotate,ssize,srest,smima,linab,slintyp,sdottyp
	.word hcopy,male,blina,blinr,print,setmark,scale
	.word fatm,autoret,viereck,unit
beftxt	.word tx1,tx2,tx3,tx4,tx5,tx6,tx7,tx8,tx9
	.word txb,txc,txd,txe,txf,txg,txh,txi,txj,txk,txl
	.word txm,txn,txo,txp
grbit	.byt 1,2,4,8,16,32,64,128
flpx	.byt $82,$18,$10,$62,$4e
flpy	.byt $82,$34,$7a,$e1,$48
anfang	jsr init
	lda #<hi
	ldy #>hi
	jsr strout
	ldx $3a
	inx
	bne initcont
	lda #"n"
	sta 631
	lda #"e"
	sta 632
	lda #"w"
	sta 633
	lda #13
	sta 634
	lda #4
	sta 198
initcont	jsr 121
	beq end
	jsr $b7f1
	stx plotter
	jsr 121
	beq end
	jsr $b7f1
	stx drucker
	jsr 121
	beq end
	jsr $b7f1
	stx drusa
end	rts
new	pha
	lda $9a
	cmp plotter
	beq plotty
	jmp $f1cb
plotty	pla
	and #127
	sta char
	pha
	tya
	pha
	txa
	pha
	ldy ctr
	beq noprint
	lda buff
	cmp #"p"
	beq printmod
noprint	lda char
	cmp #32
	beq ignore
printmod	lda char
	cmp #14
	bcc last
	cmp #32
	bcc ignore
	sta buff,y
	iny
	cpy #202
	bcs too
	sty ctr
ignore	pla
	tax
	pla
	tay
	pla
	clc
	rts
too	jmp $a571
last	lda #13
	sta buff,y
	iny
	lda #0
	sta buff,y
	sta ctr
	lda #3
	sta $9a
	ldx #0
	bit resmod
	bpl resnrm
	stx lcount
resnrm	inx
	lda buff
	ldy #befadr-beftab-1
suchbef	cmp beftab,y
	beq foundv
	dey
	bpl suchbef
	bmi weiter
foundv	tya
	pha
	asl
	tay
	lda befadr,y
	sta jump+1
	lda befadr+1,y
	sta jump+2
	pla
	cmp #4
	beq jump
	jsr echo
jump	jsr 0
	jsr echocr
	lda retflg
	beq weiter
	lda retx
	sta penx
	lda retx+1
	sta penx+1
	lda rety
	sta peny
	lda rety+1
	sta peny+1
weiter	lda plotter
	sta $9a
	jmp ignore
getnum	lda #0
	sta bin
	sta bin+1
	lda buff,x
	beq over
	cmp #"-"
	bne posit
	inx
	lda #128
	.byt $2c
posit	lda #0
	sta mem4
getzif	lda buff,x
	cmp #"0"
	bcc lst
	cmp #"9"+1
	bcs lst
	asl bin
	rol bin+1
	lda bin+1
	sta mem3
	lda bin
	asl
	rol mem3
	asl
	rol mem3
	clc
	adc bin
	sta bin
	php
	lda buff,x
	and #15
	clc
	adc bin
	sta bin
	lda bin+1
	adc #0
	plp
	adc mem3
	sta bin+1
	inx
	bne getzif
lst	clc
	bit mem4
	bpl posi
	lda bin
	eor #-1
	adc #1
	sta bin
	lda bin+1
	eor #-1
	adc #0
	sta bin+1
	clc
posi	.byt $24
over	sec
	ldy bin
	lda bin+1
ret	rts
getnext	lda buff,x
	beq over
	cmp #$2c
	beq lst
	inx
	bne getnext
getkoor	jsr getnum
	bcs ret
	sty kx
	sta kx+1
	jsr echonum
	lda mem4
	sta xneg
	jsr getnext
	bcs ret
	jsr echoko
	inx
	jsr getnum
	bcs ret
	sty ky
	sta ky+1
	jsr echonum
	lda unif
	bne mm
	jmp pixel
mm	txa
	pha
	ldx kx
	lda kx+1
	bit xneg
	bpl xg0
	eor #-1
	pha
	txa
	eor #-1
	clc
	adc #1
	tax
	pla
	adc #0
xg0	stx $63
	sta $62
	ldx #$90
	sec
	jsr $bc49
	lda #<flpx
	ldy #>flpx
	jsr $ba28
	jsr $b7f7
	sty kx
	sta kx+1
	bit xneg
	bpl xbi0
	eor #-1
	pha
	tya
	eor #-1
	clc
	adc #1
	tay
	sty kx
	pla
	adc #0
	sta kx+1
xbi0	ldx ky
	lda ky+1
	bit mem4
	bpl yg0
	eor #-1
	pha
	txa
	eor #-1
	clc
	adc #1
	tax
	pla
	adc #0
yg0	stx $63
	sta $62
	ldx #$90
	sec
	jsr $bc49
	lda #<flpy
	ldy #>flpy
	jsr $ba28
	jsr $b801
	sty ky
	sta ky+1
	bit mem4
	bpl ybi0
	eor #-1
	pha
	tya
	eor #-1
	clc
	adc #1
	tay
	sty ky
	pla
	adc #0
	sta ky+1
ybi0	pla
	tax
pixel	clc
	rts
getpen	jsr getkoor
	bcs non
	lda kx
	sta penx
	lda kx+1
	sta penx+1
	lda ky
	sta peny
	lda ky+1
	sta peny+1
	rts
echo	bit echoflg
	bmi echoja
non	rts
echoja	stx bin
	asl
	tax
	lda beftxt+1,x
	tay
	lda beftxt,x
	jsr strout
such20	jsr echosp
	lda 211
	cmp #ziel
	bcc such20
	ldx bin
	rts
echocr	lda #13
	.byt $2c
echosp	lda #32
	.byt $2c
echoko	lda #44
	.byt $2c
echose	lda #59
	bit echoflg
	bpl non
	.byt $2c
crlf	lda #13
	jmp $ffd2
echooo	bit echoflg
	bpl non
	pha
	lda #"a"
	jsr $ffd2
	pla
	bmi an
	lda #"u"
	jsr $ffd2
	lda #"s"
	.byt $2c
an	lda #"n"
	jmp $ffd2
echonum	bit echoflg
	bpl non
	sta bin
	txa
	pha
	lda bin
	jsr $b391
	jsr $bddd
	ldx $100
	cpx #32
	bne plubs
	adc #0
plubs	jsr strout
	pla
	tax
	rts
init	jsr clr
	jsr home
	sta typ
	sta ltyp
	sta echoflg
	sta resmod
	sta mimaflg
	sta ctr
	sta scfx
	sta scfy
	sta fat
	sta retflg
	sta unif
	sta richtung
	sta 55
	lda #>run
	sta 56
	lda #1
	sta size
	sta dlen
	lda #<new
	ldy #>new
	sta $326
	sty $327
	rts
home	lda #0
	sta penx
	sta penx+1
	sta peny
	sta peny+1
	rts
clr	jsr ram
	ldy #0
	ldx #>gra
	sty mem3
	stx mem3+1
	lda #128
cl	sta (mem3),y
	iny
	bne cl
	inc mem3+1
	bne cl
rom	pha
	lda #55
	sta 1
	cli
	pla
	rts
ram	pha
	lda #48
	sei
	sta 1
	pla
	rts
printline	jsr ram
	clc
	lda #<480
	adc mem3
	sta mem4
	pha
	lda #>480
	adc mem3+1
	sta mem4+1
	pha
leer	lda mem4
	bne overfl
	dec mem4+1
overfl	dec mem4
	ldy mem3
	cpy mem4
	bne lineon
	ldy mem3+1
	cpy mem4+1
	beq lineoff
lineon	ldy #0
	lda (mem4),y
	cmp #128
	beq leer
lineoff	inc mem4
	bne next
	inc mem4+1
next	ldx #0
same	ldy #0
	lda (mem3),y
	ldy mem4
	cpy mem3
	bne encore
	ldy mem4+1
	cpy mem3+1
	beq neuw
encore	inc mem3
	bne noinc
	inc mem3+1
noinc	ldy #0
	inx
	beq neuw
	cmp (mem3),y
	beq same
neuw	cpx #4
	bcs lohnt
repeat	jsr rom
	jsr $ffd2
	jsr ram
	dex
	bne repeat
	beq fertig
lohnt	pha
	jsr rom
	lda #26
	jsr $ffd2
	txa
	jsr $ffd2
	pla
	jsr $ffd2
	jsr ram
fertig	ldy mem4
	cpy mem3
	bne next
	ldy mem4+1
	cpy mem3+1
	bne next
	pla
	sta mem3+1
	pla
	sta mem3
	jmp rom
dot	lda penx+1
	beq xok
	cmp #>480
	beq testlowx
stopp	rts
testlowx	lda penx
	cmp #<480
	bcs stopp
xok	lda peny+1
	ldy peny
	cmp #>567
	bcc yok
	bne stopp
	cpy #<567
	bcs stopp
yok	sty char
	sta char+1
	bit mimaflg
	bpl nomima
	lda penx
	sta mem3
	lda penx+1
	asl mem3
	rol
	asl mem3
	rol
	clc
	adc #>mmtab
	sta mem3+1
	ldy #0
	sec
	lda peny
	sbc (mem3),y
	iny
	lda peny+1
	sbc (mem3),y
	bcs langw1
	dey
	lda peny
	sta (mem3),y
	iny
	lda peny+1
	sta (mem3),y
	lda #128
	.byt $2c
langw1	lda #0
	sta mem4
	iny
	sec
	lda (mem3),y
	sbc peny
	iny
	lda (mem3),y
	sbc peny+1
	bcs langw2
	dey
	lda peny
	sta (mem3),y
	iny
	lda peny+1
	sta (mem3),y
	lda #128
	.byt $2c
langw2	lda #0
	ora mem4
	bne nomima
	rts
nomima	lda #<448
	ldy #>448
	sta mem4
	sty mem4+1
	dey
	sty mem3
	ldy #7
durch128	lda char
	sec
	sbc mem4
	pha
	lda char+1
	sbc mem4+1
	bcc illeg
	sta char+1
	pla
	sta char
	.byt $24
illeg	pla
	rol mem3
	lsr mem4+1
	ror mem4
	dey
	bne durch128
	lda mem3
	lsr
	ror mem4
	lsr
	ror mem4
	lsr
	ror mem4
	sta mem4+1
	lda #0
	sta mem3
	sta mem3+1
	ldy #4
viermal	lda mem4
	clc
	adc mem3
	sta mem3
	lda mem4+1
	adc mem3+1
	sta mem3+1
	asl mem4
	rol mem4+1
	dey
	bne viermal
	lda mem3
	clc
	adc penx
	sta mem3
	lda mem3+1
	adc penx+1
	adc #>gra
	sta mem3+1
	jsr ram
	ldy char
	lda grbit,y
	ldy typ
	beq set
	cpy #1
	beq reset
	cpy #2
	bne komisch
	ldy #0
	eor (mem3),y
final	sta (mem3),y
komisch	jmp rom
set	ldy #0
	ora (mem3),y
	bne final
reset	ldy #0
	eor #-1
	and (mem3),y
	bne final
plot	lda ltyp
	beq fulline
	cmp #1
	beq strich
	cmp #2
	beq strichel
	lda lcount
	cmp #5
	bcc allow
	beq forbid
	cmp #7
	beq forbid
	cmp #9
	bcs newl
	bcc allow
strichel	lda lcount
	cmp #5
	bcc allow
	beq forbid
	cmp #7
	bcs newl
	bcc allow
strich	lda lcount
	cmp dlen
	bcc allow
	sbc dlen
	cmp dlen
	bcs newl
	bcc forbid
allow	inc lcount
fulline	jmp point
newl	lda #-1
	sta lcount
forbid	inc lcount
	rts
rline	lda kx
	sta mem3
	lda kx+1
	eor #128
	asl
	lda kx+1
	sta mem3+1
	ora mem3
	php
	lda ky
	sta mem4
	lda ky+1
	eor #128
	asl
	lda ky+1
	sta mem4+1
	ora mem4
	jmp contl
aline	lda kx
	sec
	sbc penx
	sta mem3
	lda kx+1
	sbc penx+1
	sta mem3+1
	eor #128
	asl
	lda mem3+1
	ora mem3
	php
	lda ky
	sec
	sbc peny
	sta mem4
	lda ky+1
	sbc peny+1
	sta mem4+1
	eor #128
	asl
	lda mem4+1
	ora mem4
contl	beq noydiff
	bcs zily
	lda #-1
	.byt $2c
zily	lda #1
noydiff	sta dy
	sta sy
	ror
	eor #128
	sta dy+1
	sta sy+1
	lda #0
	plp
	beq noxdiff
	bcs zilx
	lda #-1
	.byt $2c
zilx	lda #1
noxdiff	sta dx
	sta sx
	ror
	eor #128
	sta dx+1
	sta sx+1
	lda mem3
	sta tri1
	ldy mem3+1
	sty tri1+1
	bpl plubsx
	eor #-1
	clc
	adc #1
	sta tri1
	tya
	eor #-1
	adc #0
	sta tri1+1
plubsx	lda mem4
	sta tri2
	ldy mem4+1
	sty tri2+1
	bpl plubsy
	eor #-1
	clc
	adc #1
	sta tri2
	tya
	eor #-1
	adc #0
	sta tri2+1
plubsy	lda tri1
	sec
	sbc tri2
	lda tri1+1
	sbc tri2+1
	bcs stimmtso
	lda #0
	sta sx
	sta sx+1
	lda tri2
	pha
	lda tri2+1
	pha
	lda tri1
	sta tri2
	lda tri1+1
	sta tri2+1
	pla
	sta tri1+1
	pla
	sta tri1
	jmp jetzta
stimmtso	lda #0
	sta sy
	sta sy+1
jetzta	lda tri1+1
	sta zch+1
	sta tri3+1
	lda tri1
	sta zch
	lsr tri3+1
	ror
	sta tri3
linie	jsr plot
	lda zch
	bne nodec
	dec zch+1
nodec	dec zch
	bit zch+1
	bpl weiterl
	rts
weiterl	lda tri3
	clc
	adc tri2
	sta tri3
	lda tri3+1
	adc tri2+1
	sta tri3+1
	lda tri3
	sec
	sbc tri1
	tay
	lda tri3+1
	sbc tri1+1
	bcc microstep
	sta tri3+1
	sty tri3
	lda penx
	clc
	adc dx
	sta penx
	lda penx+1
	adc dx+1
	sta penx+1
	lda peny
	clc
	adc dy
	sta peny
	lda peny+1
	adc dy+1
	sta peny+1
	jmp linie
microstep	lda penx
	clc
	adc sx
	sta penx
	lda penx+1
	adc sx+1
	sta penx+1
	lda peny
	clc
	adc sy
	sta peny
	lda peny+1
	adc sy+1
	sta peny+1
	jmp linie
punt	lda penx
	pha
	lda penx+1
	pha
	lda peny
	pha
	lda peny+1
	pha
	txa
	pha
	lda scfx
	beq xlass
	lda penx
	ldx penx+1
	sta $63
	stx $62
	ldx #144
	sec
	jsr $bc49
	lda #<scax
	ldy #>scax
	jsr $ba28
	jsr $b7f7
	sty penx
	sta penx+1
xlass	lda scfy
	beq ylass
	lda peny
	ldx peny+1
	sta $63
	stx $62
	ldx #144
	sec
	jsr $bc49
	lda #<scay
	ldy #>scay
	jsr $ba28
	jsr $b7f7
	sty peny
	sta peny+1
ylass	jsr dot
	pla
	tax
	pla
	sta peny+1
	pla
	sta peny
	pla
	sta penx+1
	pla
	sta penx
nofat	rts
point	jsr punt
	lda fat
	beq nofat
	lda peny+1
	pha
	lda peny
	pha
	lda penx+1
	pha
	lda penx
	pha
	inc penx
	bne ll1
	inc penx+1
ll1	jsr punt
	inc peny
	bne ll2
	inc peny+1
ll2	jsr punt
	pla
	sta penx
	pla
	sta penx+1
	jsr punt
	pla
	sta peny
	pla
	sta peny+1
	rts
becho	jsr getnum
	bcs rueck
	tya
	lsr
	ror
	and #128
	sta echoflg
	lda #4
	jmp echo
rueck	rts
brel	jsr getkoor
	bcs rueck
movepen	lda penx
	clc
	adc kx
	sta penx
	lda penx+1
	adc kx+1
	sta penx+1
	lda peny
	clc
	adc ky
	sta peny
	lda peny+1
	adc ky+1
	sta peny+1
	rts
rotate	jsr getnum
	bcs rueck
	sty richtung
	jmp echonum
ssize	jsr getnum
	bcs rueck
	iny
	sty size
	jmp echonum
srest	jsr getnum
	bcs rueck
	tya
	lsr
	lda #0
	ror
	sta resmod
	jmp echooo
smima	jsr getnum
	bcs rueck
	tya
	lsr
	lda #0
	ror
	sta mimaflg
	pha
	jsr echooo
	pla
	bpl rueck
	ldy #0
	ldx #>mmtab
	sty mem3
	stx mem3+1
clrtab	lda #-1
	sta (mem3),y
	iny
	sta (mem3),y
	lda #0
	iny
	sta (mem3),y
	iny
	sta (mem3),y
	iny
	bne clrtab
	inx
	inc mem3+1
	cpx #>mmend
	bcc clrtab
	rts
linab	jsr getnum
	bcs fini
	sty dlen
	jmp echonum
fini	rts
slintyp	lda #0
	sta ltyp
	lda #1
	sta dlen
	jsr getnum
	bcs fini
	sty ltyp
	jmp echonum
sdottyp	lda #0
	sta typ
	jsr getnum
	bcs fini
	sty typ
	jmp echonum
hcopy	lda #0
	sta 183
	ldx drucker
	ldy drusa
	lda #fn
	jsr $ffba
	jsr $ffc0
	ldx #fn
	jsr $ffc9
	jsr crlf
	jsr $ffd2
	jsr $ffd2
	lda #8
	jsr $ffd2
	lda #0
	sta mem3
	lda #>gra
	sta mem3+1
	lda #81
	sta zch
ploop	jsr printline
	jsr $f6ed
	beq abbruch
	jsr crlf
	dec zch
	bne ploop
	lda #15
	jsr $ffd2
	jsr crlf
	jsr $ffd2
	jsr $ffd2
abbruch	jsr $ffcc
	lda #fn
	jmp $ffc3
male	jsr getpen
	bcs nene
	jmp point
nene	rts
blina	jsr getkoor
	bcs nene
	jsr aline
	jsr getnext
	bcs nene
	jsr echose
	inx
	bne blina
blinr	jsr getkoor
	bcs nene
	jsr rline
	jsr getnext
	bcs nene
	jsr echose
	inx
	bne blinr
print	lda buff,x
	beq nene
	cmp #13
	beq nene
	bit echoflg
	bpl noech
	jsr $ffd2
noech	and #$3f
dotext	sta zch
	lda #<font
	sta mem3
	lda #>font
	sta mem3+1
suchz	lda zch
	beq found
	ldy #0
suchnil	lda (mem3),y
	beq endfnd
	inc mem3
	bne suchnil
	inc mem3+1
	bne suchnil
endfnd	dec zch
	inc mem3
	bne suchz
	inc mem3+1
	bne suchz
found	txa
	pha
bauz	ldy #0
	lda (mem3),y
	bne zeichne
	jmp zchend
zeichne	pha
	pha
	lsr
	lsr
	lsr
	lsr
	sta b
	pla
	and #7
	sec
	sbc richtung
	sec
	sbc richtung
	and #7
	tax
	sty kx+1
	sty ky+1
	ldy size
	sty kx
	and #4
	beq sizpox
	tya
	eor #-1
	tay
	iny
	sty kx
	lda #-1
	sta kx+1
sizpox	txa
	and #3
	bne no3x
	sta kx
	sta kx+1
no3x	txa
	sec
	sbc #2
	and #7
	tax
	ldy size
	sty ky
	and #4
	beq sizpoy
	tya
	eor #-1
	tay
	iny
	sty ky
	lda #-1
	sta ky+1
sizpoy	txa
	and #3
	bne no3y
	sta ky
	sta ky+1
no3y	pla
	and #8
	bne nodraw
drwz	jsr pline
	dec b
	bne drwz
	jmp weitz
nodraw	jsr movepen
	dec b
	bne nodraw
weitz	inc mem3
	bne qbauz
	inc mem3+1
qbauz	jmp bauz
zchend	pla
	tax
	inx
	jmp print
pline	lda mem3
	pha
	lda mem3+1
	pha
	jsr rline
	pla
	sta mem3+1
	pla
	sta mem3
	rts
setmark	jsr getnum
	bcs nana
	tya
	pha
	lda #0
	jsr echonum
	pla
	beq nana
	cmp #7
	bcs nana
	adc #$3f
	pha
	lda #0
	sta buff-1,x
	pla
	jmp dotext
nana	rts
scale	jsr getnum
	bcs nana
	and #31
	sta mem3
	sty mem3+1
	jsr echonum
	txa
	pha
	lda mem3
	ldy mem3+1
	cmp #>100
	bne scaxan
	cpy #<100
	beq scaxaus
scaxan	sty $63
	sta $62
	ldx #144
	sec
	jsr $bc49
	jsr $bafe
	jsr $bafe
	ldx #<scax
	ldy #>scax
	jsr $bbd4
	lda #1
	.byt $2c
scaxaus	lda #0
	sta scfx
	jsr echoko
	pla
	tax
	jsr getnext
	bcs nana
	inx
	jsr getnum
	bcs nana
	and #31
	sta mem3
	sty mem3+1
	jsr echonum
	lda mem3
	ldy mem3+1
	cmp #>100
	bne scayan
	cpy #<100
	beq scayaus
scayan	sty $63
	sta $62
	ldx #144
	sec
	jsr $bc49
	jsr $bafe
	jsr $bafe
	ldx #<scay
	ldy #>scay
	jsr $bbd4
	lda #1
	.byt $2c
scayaus	lda #0
	sta scfy
	rts
fatm	jsr getnum
	bcs parwr
	tya
	lsr
	lda #0
	ror
	sta fat
	jmp echooo
parwr	rts
autoret	jsr getnum
	bcs parwr
	tya
	lsr
	lda #0
	ror
	sta retflg
	jsr echooo
	lda penx
	sta retx
	lda penx+1
	sta retx+1
	lda peny
	sta rety
	lda peny+1
	sta rety+1
	rts
viereck	jsr getpen
	bcs parwr
	jsr getnext
	bcs parwr
	inx
	jsr echose
	jsr getkoor
	bcs parwr
	lda peny
	pha
	lda peny+1
	pha
	lda penx
	pha
	lda penx+1
	pha
	lda ky
	pha
	lda ky+1
	pha
	lda peny
	pha
	lda peny+1
	pha
	lda #2
	sta b
zvie	pla
	sta ky+1
	pla
	sta ky
	jsr aline
	dec b
	bne zvie
	pla
	sta kx+1
	pla
	sta kx
	jsr aline
	pla
	sta ky+1
	pla
	sta ky
	jmp aline
unit	jsr getnum
	bcs parwr
	tya
	lsr
	lda #0
	ror
	sta unif
	jmp echooo
font	=*
